function [PSCCH_DMRS, PSCCH_DMRS_Channel_H, PSSCH_DMRS, PSSCH_DMRS_Channel_H] = Function_Get_PSSCH_DMRS (NSLsymb, NFFT, cpLen0, cpLenR, NSLRB, l_DMRS, NSLID, PSSCH_RB_Size, PSSCH_RB_Start, input_signal)
	NRBsc = 12; 

    OFDM_Demod_Offset = 2;
	
    Hopping = 'Off';            % Hopping method ('Off', 'Group', 'Sequence')
	% PSCCH DMRS sequences computation (NCS SELECTION NOT IMPLEMENTED YET!!! Set it arbitrarily to 0)
	ncs_val = 0;
	nXIDs = 15194;

    subixs_PSCCH = (PSSCH_RB_Start+0:1:PSSCH_RB_Start+1)';
    subixs_PSCCH = Function_prbs_To_subs(subixs_PSCCH, NRBsc);
    subixs_PSSCH = (PSSCH_RB_Start+3:1:PSSCH_RB_Start+PSSCH_RB_Size+2)';
    subixs_PSSCH = Function_prbs_To_subs(subixs_PSSCH, NRBsc);
    
	% Calculate data dmrs
    Mode = 'pscch_V2X';                 % Generate PSBCH samples
	N_PRB = 2;
    [PSCCH_DMRS_Seq, DRSSymInfo] = Function_Generate_DMRS_Seq(N_PRB,  NSLID, ncs_val, Mode, Hopping);  

    Mode = 'pssch_V2X'; 
    N_PRB = PSSCH_RB_Size;
    [PSSCH_DMRS_Seq, DRSSymInfo] = Function_Generate_DMRS_Seq(N_PRB,  nXIDs, ncs_val, Mode, Hopping);
    

	Output_signal = Function_Phy_OFDM_Demodulate_per_Subframe(NSLsymb, NFFT, cpLen0, cpLenR, NRBsc, NSLRB, input_signal, OFDM_Demod_Offset);
    
    DMRS_Seq_Rx = Function_Phy_Resources_Demapper(l_DMRS, subixs_PSSCH, Output_signal); % get the sequence (e.g. for broadcast: 144x1 [2 symbols of 72 subs vectorized)
    
%     plot(real(PSSCH_DMRS_Seq),'-b')
%     hold on
%     plot(real(DMRS_Seq_Rx),'-r')
%     hold off
    
    DMRS_obs_mat = -ones(length(DMRS_Seq_Rx)/length(l_DMRS),length(l_DMRS));
    DMRS_ideal_mat = -ones(size(DMRS_obs_mat));
    for lix = 1:size(DMRS_obs_mat,2)
        DMRS_obs_mat(:,lix) = DMRS_Seq_Rx((lix-1)*size(DMRS_obs_mat,1)+1:lix*size(DMRS_obs_mat,1));
        DMRS_ideal_mat(:,lix) = PSSCH_DMRS_Seq((lix-1)*size(DMRS_ideal_mat,1)+1:lix*size(DMRS_ideal_mat,1));
    end
    
    Channel_Est_Method = 'LS';
    [PSSCH_DMRS_Channel_H] = Function_Channel_Estimate_Process(DMRS_obs_mat,DMRS_ideal_mat,Channel_Est_Method);
    PSSCH_DMRS = DMRS_obs_mat;
    
    DMRS_Seq_Rx = Function_Phy_Resources_Demapper(l_DMRS, subixs_PSCCH, Output_signal); % get the sequence (e.g. for broadcast: 144x1 [2 symbols of 72 subs vectorized)
    
%     plot(real(PSCCH_DMRS_Seq),'-b')
%     hold on
%     plot(real(DMRS_Seq_Rx),'-r')
%     hold off
    
    DMRS_obs_mat = -ones(length(DMRS_Seq_Rx)/length(l_DMRS),length(l_DMRS));
    DMRS_ideal_mat = -ones(size(DMRS_obs_mat));
    for lix = 1:size(DMRS_obs_mat,2)
        DMRS_obs_mat(:,lix) = DMRS_Seq_Rx((lix-1)*size(DMRS_obs_mat,1)+1:lix*size(DMRS_obs_mat,1));
        DMRS_ideal_mat(:,lix) = PSCCH_DMRS_Seq((lix-1)*size(DMRS_ideal_mat,1)+1:lix*size(DMRS_ideal_mat,1));
    end
    
    Channel_Est_Method = 'LS';
    [PSCCH_DMRS_Channel_H] = Function_Channel_Estimate_Process(DMRS_obs_mat,DMRS_ideal_mat,Channel_Est_Method);
    PSCCH_DMRS = DMRS_obs_mat;
    
end %CreateSubframe